package com.xjk.ggbp_back.controller;

import cn.dev33.satoken.stp.StpUtil;
import com.alibaba.fastjson.JSONObject;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class LoginController {

    @PostMapping("/login")
    public ResponseEntity login(String username, String password) {
        JSONObject json = new JSONObject();
        if (username.equals("admin") && password.equals("123456")) {
            StpUtil.login(1); // 使用 Sa-Token 进行登录

            json.put("code", 200);
            json.put("msg", "登录成功");

            return ResponseEntity.ok(json.toJSONString());
        } else {
            json.put("code", 401);
            json.put("msg", "用户名或密码错误");
            return ResponseEntity.status(HttpStatus.UNAUTHORIZED).body(json.toJSONString());
        }

    }

    @PostMapping("/logout")
    public ResponseEntity logout() {
        StpUtil.logout();// 使用 Sa-Token 进行登出
        JSONObject json = new JSONObject();
        json.put("code", 200);
        json.put("msg", "退出成功");
        return ResponseEntity.ok(json.toJSONString());
    }

    @GetMapping("/isLogin")
    public ResponseEntity isLogin() {
        JSONObject json = new JSONObject();
        if (StpUtil.isLogin()) {
            json.put("code", 200);
            json.put("msg", "已登录");
            return ResponseEntity.ok(json.toJSONString());
        } else {
            json.put("code", 401);
            json.put("msg", "未登录");
            return ResponseEntity.status(HttpStatus.UNAUTHORIZED).body(json.toJSONString());
        }
    }

}
